using System;
using System.Collections.Generic;
namespace AppToolKit.Core.ObjectCopy
{
	public class PropertyExcludeCopyStrategy : ICopyStrategy
	{
		private List<string> excludeCollection_;
		public PropertyExcludeCopyStrategy(string[] exclude)
		{
			this.excludeCollection_ = new List<string>();
			this.excludeCollection_.AddRange(exclude);
		}
		public CopyStrategyHint GetHint(object source)
		{
			CopyStrategyHint result;
			if (this.excludeCollection_.Exists((string item) => item == source.ToString()))
			{
				result = CopyStrategyHint.Skip;
			}
			else
			{
				result = CopyStrategyHint.Copy;
			}
			return result;
		}
	}
}
